/////////////////////////////////////////////////////////////////////
//
// OposMsr.h
//
//   Magnetic Stripe Reader header file for OPOS Applications.
//
// Modification history
// ------------------------------------------------------------------
// 1995-12-08 OPOS Release 1.0                                   CRM
// 1997-06-04 OPOS Release 1.2                                   CRM
//   Add ErrorReportingType constants.
// 2000-09-24 OPOS Release 1.5                                   BKS
//   Add constants relating to Track 4 Data.
//   (01-07-15 Added omitted MSR_TR_1_3_4 property)
// 2006-03-15 OPOS Release 1.10                                  CRM
//   Add values for the following properties:
//     CapWritableTracks, EncodingMaxLength, TracksToWrite
// 2008-08-30 OPOS Release 1.12                                  CRM
//   Add values for new properties, plus SUE and RCExt values.
// 2011-04-07                                                    EPO
//   Converted to Pascal by Eric Orilla
//
/////////////////////////////////////////////////////////////////////

unit oposmsr;

interface

const

/////////////////////////////////////////////////////////////////////
// "TracksToRead", "CapWritableTracks", "TracksToWrite" Property Constants
/////////////////////////////////////////////////////////////////////

  MSR_TR_NONE            : Longint     = 0;    // (added in 1.10)
                                        // "CapWritableTracks", "TracksToWrite"

  MSR_TR_1               : Longint     = 1;
  MSR_TR_2               : Longint     = 2;
  MSR_TR_3               : Longint     = 4;
  MSR_TR_4               : Longint     = 8;    // (added in 1.5)

  MSR_TR_1_2             : Longint     = $03;
  MSR_TR_1_3             : Longint     = $05;
  MSR_TR_1_4             : Longint     = $09; // (added in 1.5)
  MSR_TR_2_3             : Longint     = $06;
  MSR_TR_2_4             : Longint     = $0A; // (added in 1.5)
  MSR_TR_3_4             : Longint     = $0C; // (added in 1.5)

  MSR_TR_1_2_3           : Longint     = $07;
  MSR_TR_1_2_4           : Longint     = $0B; // (added in 1.5)
  MSR_TR_1_3_4           : Longint     = $0D; // (added in 1.5)
  MSR_TR_2_3_4           : Longint     = $0E; // (added in 1.5)

  MSR_TR_1_2_3_4         : Longint     = $0F; // (added in 1.5)


/////////////////////////////////////////////////////////////////////
// "ErrorReportingType" Property Constants (added in 1.2)
/////////////////////////////////////////////////////////////////////

  MSR_ERT_CARD           : Longint     = 0;
  MSR_ERT_TRACK          : Longint     = 1;


/////////////////////////////////////////////////////////////////////
// "CapDataEncryption", "DataEncryptionAlgorithm" Property Constants
//   (added in 1.12)
/////////////////////////////////////////////////////////////////////

  MSR_DE_NONE            : Longint     = $00000001;
  MSR_DE_3DEA_DUKPT      : Longint     = $00000002;
// Note: Service-specific values begin at $01000000.


/////////////////////////////////////////////////////////////////////
// "CapDeviceAuthentication" Property Constants (added in 1.12)
/////////////////////////////////////////////////////////////////////

  MSR_DA_NOT_SUPPORTED   : Longint     = 0;
  MSR_DA_OPTIONAL        : Longint     = 1;
  MSR_DA_REQUIRED        : Longint     = 2;


/////////////////////////////////////////////////////////////////////
// "DeviceAuthenticationProtocol" Property Constants (added in 1.12)
/////////////////////////////////////////////////////////////////////

  MSR_AP_NONE                : Longint     = 0;
  MSR_AP_CHALLENGERESPONSE   : Longint     = 1;


/////////////////////////////////////////////////////////////////////
// "CardType" Property Constants (added in 1.12)
/////////////////////////////////////////////////////////////////////

  MSR_CT_AAMVA            = 'AAMVA';
  MSR_CT_BANK             = 'BANK';


/////////////////////////////////////////////////////////////////////
// "RetrieveCardProperty" Method: "Name" Parameter Constants
//   (added in 1.12)
/////////////////////////////////////////////////////////////////////

  MSR_RCP_AccountNumber   = 'AccountNumber';
  MSR_RCP_Address         = 'Address';
  MSR_RCP_BirthDate       = 'BirthDate';
  MSR_RCP_City            = 'City';
  MSR_RCP_Class           = 'Class';
  MSR_RCP_Endorsements    = 'Endorsements';
  MSR_RCP_ExpirationDate  = 'ExpirationDate';
  MSR_RCP_EyeColor        = 'EyeColor';
  MSR_RCP_FirstName       = 'FirstName';
  MSR_RCP_Gender          = 'Gender';
  MSR_RCP_HairColor       = 'HairColor';
  MSR_RCP_Height          = 'Height';
  MSR_RCP_LicenseNumber   = 'LicenseNumber';
  MSR_RCP_MiddleInitial   = 'MiddleInitial';
  MSR_RCP_PostalCode      = 'PostalCode';
  MSR_RCP_Restrictions    = 'Restrictions';
  MSR_RCP_ServiceCode     = 'ServiceCode';
  MSR_RCP_State           = 'State';
  MSR_RCP_Suffix          = 'Suffix';
  MSR_RCP_Surname         = 'Surname';
  MSR_RCP_Title           = 'Title';
  MSR_RCP_Weight          = 'Weight';


/////////////////////////////////////////////////////////////////////
// "StatusUpdateEvent" Event: "Data" Parameter Constants
/////////////////////////////////////////////////////////////////////

  MSR_SUE_DEVICE_AUTHENTICATED       : Longint     =  11; // (added in 1.12)
  MSR_SUE_DEVICE_DEAUTHENTICATED     : Longint     =  12; // (added in 1.12)


/////////////////////////////////////////////////////////////////////
// "ErrorEvent" Event: "ResultCodeExtended" Parameter Constants
/////////////////////////////////////////////////////////////////////

  OPOS_EMSR_START        : Longint     = 201;
  OPOS_EMSR_END          : Longint     = 202;
  OPOS_EMSR_PARITY       : Longint     = 203;
  OPOS_EMSR_LRC          : Longint     = 204;
  OPOS_EMSR_DEVICE_AUTHENTICATION_FAILED     : Longint     = 205; // (added in 1.12)
  OPOS_EMSR_DEVICE_DEAUTHENTICATION_FAILED   : Longint     = 206; // (added in 1.12)

implementation

end.
